約 5,140,525 件
https://w.atwiki.jp/99772200/pages/349.html
# 吸血鬼のおしごと The Style of Vampires # 3巻ぐらいまでいったところでメッセ取りに飽きました。 月島亮史 回避, うわっ! 回避, そんなに驚くことないじゃないか。僕は吸血鬼だよ? 回避, 僕はただの人として生きているんだ。変なことに巻き込まないでくれ 回避, と、とにかく逃げよう 回避, 交渉決裂か ダメージ小, あー、ぅ ダメージ小, - ダメージ小, - ダメージ中, どうしろっていうのさ ダメージ中, まったく次から次へと ダメージ中, - ダメージ中, - ダメージ中, - ダメージ大, ――だいじょぶ。ほんと。いけっ、ぐ。いける ダメージ大, なんで僕が。なんで僕がこんなことをしなくちゃいけない ダメージ大, - 破壊, - 分身(霧の身体), これで僕が吸血鬼だってことを納得してもらえたかなっ! 攻撃, ――ごめん 攻撃, あー、ちょっといいかな? 攻撃, - 攻撃, - 攻撃, - 攻撃(反撃), 昔の人はいいことを言った。降りかかってくる火の粉は払わねばならない 攻撃(反撃), ま、こんな状況なわけだから、少し痛めつけるけど、いいよね? 月島亮史(魎月) 回避, おやおや、大丈夫? もう電池切れなんじゃないかな? 回避, - 回避, - 回避, - 回避, - ダメージ小, うるさいな ダメージ小, どうした? もう終わりか? ダメージ小, - ダメージ中, - ダメージ中, - ダメージ中, - ダメージ中, - ダメージ中, - ダメージ大, - ダメージ大, - ダメージ大, - 破壊, - 射程外, 往生際の悪い 射程外, 貸しにしておこう。――いずれ返してもらうぞ 攻撃, 猫は鼠を狩る。ライオンはガゼルを狩る。吸血鬼が人を狩ってなにがおかしい 攻撃, どけ。邪魔だ 攻撃, 黙れ 攻撃, - 攻撃, -
https://w.atwiki.jp/99772200/pages/393.html
#一部の台詞は作中、敬語で喋っていたものを素の口調に訳してあります。 間宮林蔵 回避, 俺は二度も細かく測量しているんだぜ。幕府に報告してないだけだ 回避, そうしなければ、死ぬるのだ 回避, 寒いとも冷たいとも感じぬ。躰が凍って、崩れてくるだけだ 回避, 測量することは、もうあまりないな 回避, おまえが、こんなことができるということは、憶えておこう 回避, 熊が多いのだ。こんな場所で遊びはいけないよ 回避, 蝦夷地はアイヌ人の土地なんだよ。俺が言うまでもないことだろうが、気にしている 回避, 俺は、俺のやり方でやっただけのことだ 回避, この波だ。当たりはせん 回避, 地図は、測量して作る。多分こうであろうという作り方はせん。 回避, 地形に変化があれば、必ず描く。そうしてしまうのだ 回避(対強敵), 打つまで、まったく気配を見せなかったのは、なかなかのものだ 回避(対強敵), さすがに頭は働くね。言った本人が考えもしなかったことまで考えてしまう ダメージ小, 驚いたな。ほぼ正しく掴んでいるぞ ダメージ小, 蝦夷地では、決めるものはすぐに決めなければ、動きがとれん ダメージ小, 一日遅れるだけで、大きく違う。それが北なのだよ ダメージ小, いつ、俺を殺してくれるのだ ダメージ小, 冬を越した顔は、見ればわかる ダメージ小, こういう汗が、躰を極端に冷やす ダメージ中, なにかあったら、とにかく山中に逃げることだ ダメージ中, 海象を暑いところに連れていけば死ぬるだろう。そういうところでも人は生きている ダメージ中, 北の海の夏は短いのだよ。がっかりするほど短い ダメージ中, 俺を、なぜ殺そうとしたかは訊くまい。訊かなくても、見当はつく ダメージ中, 運が悪かったというだけのことよ。気にしても始まらん ダメージ中, おまえの役目は、俺を殺すことだったのではないのか? ダメージ大, いま思うと、歯噛みしたくなるようなことばかりだった ダメージ大, この先まで歩いて行くことができるのか。俺が考えていたのはいつもそんなことだった ダメージ大, いざとなれば、揺彦を食うしかない ダメージ大, 俺はもういい歳だ。自分がやってきたことがなにか、ということも考える ダメージ大, 死ぬ時は死ぬ。そう思い定めぬかぎり、蝦夷地ではやっていけぬぞ ダメージ大, カラフトを踏査しようとしたのも、黒竜江を遡行したのも、すべては欲だった、という気がする ダメージ大, 自分が最初にそれを知りたいという欲。その欲のために、すべてを耐えた 破壊, 助けてくれ 破壊, 友だちを持つと、こんなものだ。友だちなど、持つものではない 射程外, おまえが考えていることに、乗せられるのは、嫌だな 射程外, 理屈だね、それは 射程外, 実のところ、どうやってむかえばいいのかわからない 射程外, 測量家は、自分の眼で確かめるまで、なにも決めんよ 射程外, 俺は、ひとりでも淋しくない 射程外, 早く、木の多い場所へ入るんだ 射程外, ここで休むな。もっとやつらと離れないかぎり、また鉄砲だぞ 攻撃, おまえを捕まえたところで、鼠一匹を捕らえたほども、奉行所はほめてくれまいよ 攻撃, 俺が信用しているのはこの羅針だけだな 攻撃, やってみようではないか。退屈しのぎにはなる 攻撃, 俺の刀は竹光だがね 攻撃, 誤解しないでくれ。これは、水深を測るための道具なのだ 攻撃, 俺は違う自分になってみたいのだよ 攻撃, 武士なら、こんなことはしないな。いや、人間ならしない 攻撃, 俺の手は汚れている。いいのだ、それで 攻撃, 今の冬はおまえにとっては厳しいかもしれんな 攻撃, 仕方がないのだよ。これが、蝦夷地の冬なのだよ 攻撃, いつまでも失敗をしないと思うのも間違いだ 揺彦, 揺彦 赤彦・青彦, アカ、アオ 青彦(赤彦を食らった), アオ 青彦(赤彦を食らった), 吠えろ、アオ 青彦(赤彦を食らった), 走れ、アオ 青彦(揺彦を食らった), アオ 青彦(揺彦を食らった), 吠えろ、アオ 青彦(揺彦を食らった), 走れ、アオ 青彦(揺彦を食らった), アオ。兄弟や親父の屍肉を食らっても、おまえは生きていられる。浅ましいなあ、俺たちは 間宮林蔵(隠密) 回避, 魚がいないところで漁をするほど馬鹿なことはない 回避, ひとつの場所にじっとしていることはない 回避, 測量を終えた場所にいることは無意味だ 回避, 俺はいつ死ぬかもしれん。どこかへ行ってしまうこともある 回避, 俺には役目があるからな 回避, そうだな、もうしばらくだ 回避, 帰るぞ、もう 回避, 昔のことだ 回避, 運がよかった。それだけだ 回避, 安っぽいことをする 回避, そろそろはじめるぞ 回避, こちらとしては本意ではなかったが 回避, 勝負はついてるよ ダメージ小, おまえに、恨みがあるのか? ダメージ小, 動きはじめている。なにかが、動きはじめている ダメージ小, 人は、変わりはせん ダメージ小, なにがあった? ダメージ小, やめておけ。いままで、自分がやってきたことを、変えるな。それが長生きの秘訣だ ダメージ中, 俺は生きようが死のうがどうでもいい人間だ ダメージ中, 誰だって、気持の底の底までは、開こうとしない ダメージ中, 私には夢がない。だが、夢を抱く人間が、人の心を動かすことはいつの世にもあるだろう ダメージ中, 生涯をかけて、この地図を作った。これほどのものを、とも思うし、たったこれだけを、とも思う ダメージ中, 熱い肉を食った。;その時の感覚を、まるでついさっきのことのように思い出す ダメージ大, 信平さん、野比様も死んだよ ダメージ大, 最後まで、生きようとされたのだ、野比様は。途中で投げようとはされなかった ダメージ大, 死ねばそれまでの命。そう思い定めて、酷寒の地を歩き続けたのだ ダメージ大, カラフトの山中で殺した、捨次のことをよく思い出す ダメージ大, 自分の執念を貫こうとしているのは立派なもんだと思うよ ダメージ大, 蝦夷地にて、死んだ。死んだまま生きるというのがどういうことか、おまえよりずっとよく知っている 破壊, 悪い一生ではなかった。生ききったと思える時期が、確かに自分にはあった 射程外, 俺には、わからん 射程外, いいのだ。しばらく、放っておく 射程外, いい考えではないか 攻撃, 生き延びたがゆえに、やらなければいけないことがある 攻撃, やるべきことが、一つだけは残っている 攻撃, 俺にはまだやるべきことが残されている 攻撃, 信平さんは生きていて、一番意味のある男でもあった 攻撃, 俺は片手だけは、野比様の分身になってもいいと思った 攻撃, 自分がなにをしているのか、知りたいと思うことはないのか? 攻撃, いままでと違う自分になってみたい、と思った時期もあったが 攻撃, 俺は、俺がやるべきだと思ったことをやるだけだ 攻撃, いやでも手は汚れている 攻撃, 毒は、毒を扱う人間の手にもつく 攻撃, 見張りを置くべきだったな 攻撃, 俺は、俺の執念を貫く 攻撃, 成行だ 攻撃, 裏切りを、恥辱だとは思わぬか 攻撃(とどめ), 違う自分など、幻にすぎん 攻撃(とどめ), 顔だけではない。手も、足も醜い。心も醜いのだ 攻撃(とどめ), 毒は、毒として生きるだけだ 攻撃(とどめ), なにもかも、思い通りにはいかなかったな 攻撃(とどめ), ある男が、確かにこの世で生きたと思うために 攻撃(とどめ), 笑うと、醜くなるのだよ。私は 攻撃(とどめ), 死者を待つ者は、おらん #対メッセも色々と考えられるんですが、 #データ作成予定がないのでやめときます。 #水滸伝 美髯公・朱仝 回避, 当たらない 回避, はっきり見える 回避, よく見えている ダメージ小, 闘気が感じられない ダメージ小, いやにばらけている ダメージ小, 本気で遮る者は、まだいない ダメージ中, 防御で手一杯か ダメージ中, なんだと? ダメージ中, そこまで決断できるのか ダメージ大, まだ負けてはいない ダメージ大, 殲滅させられてはならんのだ ダメージ大, 疲れは通り越した ダメージ大, 闘い続けることはできる ダメージ大, 志があった。そして、戦友がいた。死んだ者のためにも、自分は闘い続けるしかない ダメージ大, 闘っているぞ、俺は。雷横、俺を見ているか 破壊, 俺は、闘い続けることができたのだ 破壊, 林冲、おまえにだけは、謝らなければならん。俺は、おまえより先に死ぬ。悪く思うな 破壊, さらば 射程外, やがては朽ちるしかないな 射程外, 相当に用心深いな 攻撃, そこだな 攻撃, 俺は、指揮官を討つつもりだ 攻撃, ただ進む 攻撃, 行くぞ 攻撃, 美髯公とまで言われたこの朱仝、おまえらの手に掛かって死ぬと思うか 打虎将・李忠 回避, 恐怖は、心から心へ伝わる。敵よりもこわいぞ 回避, 片脚の俺が、生き延びた 回避, 見極めて、やればいい 回避, めしぐらいは食えるか 回避, これでいい。自分は、やるべきことを精一杯やっている 回避, 見えている 回避, 眼をつぶっていても進める ダメージ小, それを攻めと言うなら ダメージ小, まだ、攻められてはおらんな ダメージ小, だから? ダメージ小, 放っておこう。止められるものではない ダメージ中, 何が起きたのだ ダメージ中, とにかく、持ちこたえることを第一としよう ダメージ中, それは誰にでもできる ダメージ中, 桃花山の賊徒の頭目であったころとは違うのだ ダメージ大, 救援が来るまで耐えられないというのは、恥だ ダメージ大, 俺はなにひとつやっていない ダメージ大, もう、何度目になるのか ダメージ大, 片脚を失った時、ほんとうは命を失っているはずだった ダメージ大, 一度死んだ躰なのだ 破壊, 闘っている。生まれてはじめて、ほんとうに闘っている 射程外, 闇夜で、いきなり殴られたようなものか 射程外, どこから出てきたのだ。地から湧いたのか 射程外, あらゆる方法で、不利を少しでも小さくしようとしているのだろう 攻撃, 『替天行道』の旗に恥じぬようにせねばな 攻撃, この戦、すべての民が見ているのだ 攻撃, 俺は、双頭山の副官だ 攻撃, ただ生き延びようとはしない 攻撃, 将校には、将校の任務があり、それは死ぬことだったりするのだ 攻撃, 死ぬ順番は決まっている 攻撃, こわがっていない。将校が、まずそれを示すことだ 攻撃, むかないことなど、桃花山で賊徒の頭目をやった時から、いやになるほどわかっている 攻撃, いまが時期だ 攻撃, 前衛もろとも、押し潰す ##地僻の星主役二人。 ##とりあえず地僻の星からのみ抜粋
https://w.atwiki.jp/kof2002um/pages/614.html
汎用 天の光は全て星…だがいずれそこに私の名が燦然と輝くだろう! 汎用 すべての始まりを意味する絶対的な存在…それがゼロだ! 汎用 今まで倒してきた敵の数か…百人から先は覚えていない! K´チーム ゴミのように死んでいけ!裏切り者には似合いの末路だ! 京チーム …つまり、組織がこだわるほどの逸材ではなかったということだな 餓狼チーム 狼だと?薄汚れたドブネズミの間違いではないのかね? 龍虎チーム ともあれ…空手ごときで私に戦いを挑んできた勇気だけは認めよう 怒チーム いろいろと目ざわりなのだよ…そろそろご退場願おうか、傭兵諸君 サイコチーム まさか今のが超能力だとでも?…てっきり大道芸かと思ったよ 女性格闘家チーム 私の力が分かったかね?ならばせいぜい美しく光と散るがいい! 美少女格闘家チーム 少女だからといって、私に逆らった罪が許されるわけではないのだよ キムチーム 正義はかならず勝つ、だと?ゼロを超えるものはゼロだけだ! ジョンチーム はみ出し者の集まりか?いずれにせよ、まともではないがな オロチチーム オロチ四天王とはこの程度か…ネスツの情報部もあてにならんな 裏オロチチーム 面白い!これがオロチ四天王の真の実力というわけか! 97スペシャルチーム すでに葬っている!貴様らがまだ自分の死に気づかんだけだ! 八神チーム 見たまえ…ネスツの科学力がオロチの血を凌駕した瞬間を! エージェントチーム 君達の優秀さは認めるが…クライアントを間違えたな。 ネスツチーム 2人が3人になろうと同じこと…我が野望の糧となって朽ちるがいい マスターチーム 君達と私の力の差は、経験などで埋められるほど小さくはないのだ! クローンチーム ひと言もしゃべるな!道端の石は踏まれても痛がりはしないものだ ネームレス プロジェクトK の副産物だと?要するにできそこないということか クリザリッド 所詮貴様は捨て石…死に場所が少し変わっただけに過ぎんのだ! ゼロ ゼロを超えるものはゼロだけ…ようやくそれが分かったようだな? イグニス 少々手間取ったが…これでようやくネスツのすべてが我が物となる オメガ・ルガール 往生際の悪いスクラップ風情が…その程度の力で究極とは笑わせる! ゲーニッツ クックックッ…面白い…久しぶりに骨のある敵と出会えたぞ! ギース/ナイトメアギース ウワサだけは以前から聞いていたよ。偉大な身の程知らずだとね! 戻る
https://w.atwiki.jp/seirankai66/pages/65.html
勢嵐会OBの皆様へ・・・ 現役の勢嵐会メンバーへ、是非ご声援をお掛け下さい。 できれば、「ブレイク」や「お声がけ」へのご投稿をお待ちしておりますが、久しぶりでちょっと・・・というようでしたら、このページをご利用下さい。 現役とOBと、少しでも橋渡しできるようなページにしたいと思います。 名前 コメント すべてのコメントを見る 現役みなさん 元気ですか? 豊田丸さんとは安城のマーメイドパレスでまたまたグランドしましたね!元気そうで良かった!お互いに歳を取りましたが!皆さんこれからも頑張ってください -- (神風) 2013-01-05 21 51 17 発足以来20年も経ったのかと思うと少々驚きです。まだパソコンに慣れていないので頑張ってこれから徐々に過去の武勇伝のお話をして行きたいと思っております。取り合えず今日のところは 血まみれブルース参上と言う事にしておきます -- (血まみれブルース) 2006-05-22 16 55 15 ☆管理者:豊田丸:へのメールはこちらから・・・ 名前 メールアドレス 内容
https://w.atwiki.jp/kimikage/pages/99.html
WindowsFormとほぼ同じ。 フックハンドルの取得が変わっただけ。 CustomMsgBoxクラス using System; using System.Windows; using System.Windows.Interop; namespace ProjectName.Ctrl { /// summary /// 拡張メッセージボックス /// /summary class CustomMsgBox { /// summary /// 親ウィンドウ /// /summary private Window ownerWindow = null; /// summary /// フックハンドル /// /summary private IntPtr hHook = IntPtr.Zero; /// summary /// メッセージボックスを表示する /// /summary /// param name="owner" /param /// param name="messageBoxText" /param /// param name="caption" /param /// param name="button" /param /// param name="icon" /param /// returns /returns public static MessageBoxResult Show( Window owner, string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon) { if (owner.WindowState == WindowState.Minimized) { return MessageBox.Show(owner, messageBoxText, caption, button, icon); } else { CustomMsgBox mbox = new CustomMsgBox(owner); return mbox.Show(messageBoxText, caption, button, icon); } } /// summary /// コンストラクタ /// /summary /// param name="window" Owner Window /param private CustomMsgBox(Window window) { ownerWindow = window; } /// summary /// メッセージボックスを表示する /// /summary /// param name="messageBoxText" /param /// param name="caption" /param /// param name="button" /param /// param name="icon" /param /// returns /returns private MessageBoxResult Show( string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon) { // フックを設定する。 HwndSource hwndSource = (HwndSource)HwndSource.FromVisual(ownerWindow); IntPtr hInstance = WinAPI.GetWindowLong(hwndSource.Handle, WinAPI.GWL_HINSTANCE); IntPtr threadId = WinAPI.GetCurrentThreadId(); hHook = WinAPI.SetWindowsHookEx(WinAPI.WH_CBT, new WinAPI.HOOKPROC(HookProc), hInstance, threadId); return MessageBox.Show(ownerWindow, messageBoxText, caption, button, icon); } /// summary /// フックプロシージャ /// /summary /// param name="nCode" /param /// param name="wParam" /param /// param name="lParam" /param /// returns /returns private IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode == WinAPI.HCBT_ACTIVATE) { WinAPI.RECT rcForm = new WinAPI.RECT(0, 0, 0, 0); WinAPI.RECT rcMsgBox = new WinAPI.RECT(0, 0, 0, 0); HwndSource hwndSource = (HwndSource)HwndSource.FromVisual(ownerWindow); WinAPI.GetWindowRect(hwndSource.Handle, out rcForm); WinAPI.GetWindowRect(wParam, out rcMsgBox); // センター位置を計算する。 int x = (rcForm.Left + (rcForm.Right - rcForm.Left) / 2) - ((rcMsgBox.Right - rcMsgBox.Left) / 2); int y = (rcForm.Top + (rcForm.Bottom - rcForm.Top) / 2) - ((rcMsgBox.Bottom - rcMsgBox.Top) / 2); WinAPI.SetWindowPos(wParam, 0, x, y, 0, 0, WinAPI.SWP_NOSIZE | WinAPI.SWP_NOZORDER | WinAPI.SWP_NOACTIVATE); IntPtr result = WinAPI.CallNextHookEx(hHook, nCode, wParam, lParam); // フックを解除する。 WinAPI.UnhookWindowsHookEx(hHook); hHook = IntPtr.Zero; return result; } else { return WinAPI.CallNextHookEx(hHook, nCode, wParam, lParam); } } } } WinAPIクラス using System; using System.Runtime.InteropServices; namespace ProjectName.Ctrl { class WinAPI { [DllImport("user32.dll")] public static extern IntPtr GetWindowLong(IntPtr hWnd, int nIndex); [DllImport("kernel32.dll")] public static extern IntPtr GetCurrentThreadId(); [DllImport("user32.dll")] public static extern IntPtr SetWindowsHookEx(int idHook, HOOKPROC lpfn, IntPtr hInstance, IntPtr threadId); [DllImport("user32.dll")] public static extern bool UnhookWindowsHookEx(IntPtr hHook); [DllImport("user32.dll")] public static extern IntPtr CallNextHookEx(IntPtr hHook, int nCode, IntPtr wParam, IntPtr lParam); [DllImport("user32.dll")] public static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); [DllImport("user32.dll")] public static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect); public delegate IntPtr HOOKPROC(int nCode, IntPtr wParam, IntPtr lParam); public const int GWL_HINSTANCE = (-6); public const int WH_CBT = 5; public const int HCBT_ACTIVATE = 5; public const int SWP_NOSIZE = 0x0001; public const int SWP_NOZORDER = 0x0004; public const int SWP_NOACTIVATE = 0x0010; public struct RECT { public RECT(int left, int top, int right, int bottom) { Left = left; Top = top; Right = right; Bottom = bottom; } public int Left; public int Top; public int Right; public int Bottom; } } }
https://w.atwiki.jp/unkomashimashi/pages/26.html
なにがどう メッセージアラートを表示したい どうするのか 入力文字列を表示したい MsgBox "文字列" パラメータに保存されている内容を表示したい MsgBox foo
https://w.atwiki.jp/flstudio2/pages/140.html
Roland A-49のMIDIコントロールをカスタマイズする方法 Roland A-49 というMIDIキーボードに付属しているボタンを FL Studioの制御に使いたくて色々調べたことをまとめておきます。 Roland A-49のMIDIコントロールをカスタマイズする方法 FL StudioのMIDI制御Pythonスクリプトの導入 Script output を表示する MIDI信号を確認する 再生位置をノブで切り替えるサンプル Roland A-49 での実装例スクリプトの実装例 スクリプトの実装例・その2 FL StudioのMIDI制御 Pythonスクリプトの導入 まず環境に合わせたHardwareデバイスフォルダに移動します。macOS環境の場合は以下の場所にあります /Users/[ユーザー名]/Documents/Image-Line/FL Studio/Settings/Hardware/ ここにわかりやすい名前でフォルダを作成して、”device_name.py” を配置します。 device_name.py にはまず以下のように記述します。 #name=Roland A-49# ↑使用しているデバイスの名前. おそらくテキストファイル(プログラム)の文字コードは "UTF-8" で保存したほうが予期しない不具合が発生しなくて良さそうです。 「#name=[デバイス名]」という記述をスクリプトの先頭に記述すると、FL Studio の MIDIのデバイス設定にその名前で追加されるようです。 FL Studio のメニューから「OPTIONS MIDI Settings」を選んでデバイスに対応するスクリプトを設定します。 Script output を表示する 次に スクリプトの実行確認するアウトプットログ画面を表示します。FL Studioのメニューから「VIEW Script output」を選びます。 するとこのような画面が表示されます。 MIDI信号を確認する スクリプトを以下のように修正します。 #name=Roland A-49# ↑使用しているデバイスの名前. ## MIDI入力時に呼び出されるコールバック関数.def OnNoteOn(event) # FLが受け取ったMIDI信号を出力. print("note on channel %d number %d"%(event.status, event.data1)) ## CCメッセージ受け取り.def OnControlChange(event) # FLが受け取ったCCを出力. print("CC channel %d number %d"%(event.status, event.data1)) print("- data2 %d"%event.data2) ## プログラムチェンジメッセージのコールバック関数.def OnProgramChange(event) # FLが受け取ったMIDI信号を出力. print("program change channel %d number %d"%(event.status, event.data1)) ## システムエクスクルーシブのコールバック関数.def OnSysEx(event) # FLが受け取ったMIDI信号を出力. print("sys ex channel %d number %d"%(event.status, event.data1)) ## ピッチベンドのコールバック関数.def OnPitchBend(event) # FLが受け取ったMIDI信号を出力. print("pitch bend channel %d number %d"%(event.status, event.data1)) print("- data2 %d"%event.data2) MIDIを制御する場合、おそらく NOTE / CC / プログラムチェンジ / システムエクスクルーシブ / ピッチベンド があればおおよそ網羅できるのでこのようにしました。 device_name.py を保存して、Script output の “Reload script” ボタンをクリックします。 特に問題なくリロードできれば以下のようなログが表示されます。(スクリプトのパスは環境によって変化します) FL Studio Midi scripting version 28 "/Users/syun77/Documents/Image-Line/FL Studio/Settings/Hardware/RolandA-49/device_name.py" found init ok ここでエラーが出る場合には、エラー行数をよく見て修正します。 特に問題がなければ MIDIの入力を確認してみます。例えばMIDIキーボードで ドの音 (C3) を押すと以下のようにログが出力されます。 note on channel 144 number 36 後は押したキー・ボタンの番号に対応する処理を書いていきます。 FL Studioを制御するためのAPIリファレンスとしては以下のものがおすすめです。 参考:FL Studio API Documentation 非公式だけれど機能ごとにページが分かれていたり、公式リファレンスにない色々な注意事項が書かれていてとても参考になります 再生位置をノブで切り替えるサンプル 私の使っているMIDIキーボードの Roland A-49 では “C1″ノブに カットオフ(CC#74) のMIDI信号が割り振られています。 これをFL Studio の再生位置を調整するノブに割り当ててみます。 #name=Roland A-49# ↑使用しているデバイスの名前. import transport # FLのTransport(Play, Stop, Pause Record)を操作する.import patterns # FLのパターン操作. # 定義が見つからないのでここで定義してみる...SONGLENGTH_MS = 0 # SONGモードの長さをMSで取得. # MIDI信号/CCの番号.A49_C1 = 74 # C1ダイヤルの番号(Cut-off). VAL_MIN = 0 # 値の最小.VAL_MAX = 127 # 値は0〜127まで. ## CCメッセージ受け取り.def OnControlChange(event) # FLが受け取ったCCを出力. print("CC channel %d number %d"%(event.status, event.data1)) print("- data2 %d"%event.data2) if event.data1 == A49_C1 # ノブの位置で再生位置を移動してみる. if transport.getLoopMode() == 0 # パターンモード. idx = patterns.patternNumber() # 現在選択しているパターン. total = patterns.getPatternLength(idx) # パターンの長さ. pos = int(total * event.data2 / VAL_MAX) print("pos ", pos , " total ", total) transport.setSongPos(1.0 * pos / total) else # ソングモード. total = transport.getSongLength(SONGLENGTH_MS) # 曲の長さ. pos = total * event.data2 / VAL_MAX print("pos ", pos , " total ", total) transport.setSongPos(pos, SONGLENGTH_MS) event.handled = True # FLに処理させる. FL Studioを制御するには import文 で該当する機能を指定する必要があります。”transport” は再生や停止に関する機能で、”patterns” はパターンモードにおける制御を行うものです。 次に対応する MIDI信号に対応する処理を書きます。ここでの注意点は引数の “event.handled” の値を True にする必要がある、ということです。MIDI信号があるたびに FL Studio に処理させるのは重たいので、何らかの制御をしたい場合のみこの値を True にします。 Roland A-49 での実装例 私の好みで Roland A-49 は以下のように割り当てました。 C1 再生位置の変更 C2 現在選んでいるチャンネルの音量を変更する S1 再生ボタン S2 停止ボタン モジュレーション・ピッチベンド:ピアノロール / チャンネルラック / プレイリスト に切り替える Roland A-49 は ライブ演奏用途・同社のハードウェアシンセである “JUNO” との連携を前提とした設計となっていて、一般的なDTMの用途に合っていない気がしたので、このように変更しました。 それと個人的に「モジュレーション・ピッチベンド」は使わないので、FL Studioの制御に割り当てています。 注意点として、「S1」「S2」は工場出荷状態では「プログラムチェンジ」に割り当てられています。どうやらFL Studioは “プログラムチェンジ” 信号 をチャンネルラックの移動に割り当てているので、CCメッセージに変更します。これは Roland A-49独自の操作ですが「FUNCTION S1 / S2 CTRL CHANGE [NUMERIC ENTRY] – / +」で CC に割り当てるようにしました。(例えば S1 / S2 を CC#2 / CC#3 に割り当て)。 参考までに公式の取扱説明書の抜粋です。 それと Roland A-49 には “Super NATURAL” モードというのがあって、そのモードのときには “S1 / S2” をプリセット変更ボタンに切り替えるようにしてみました。 スクリプトの実装例 device_name.py #name=Roland A-49# ↑使用しているデバイスの名前. import transport # FLのTransport(Play, Stop, Pause Record)を操作する.import channels # FLのチャンネルラック操作.import patterns # FLのパターン操作.import plugins # FLのプラグイン操作.import ui # FLのUI操作. # 定義が見つからないのでここで定義してみる...SONGLENGTH_MS = 0 # SONGモードの長さをMSで取得.## ウィンドウID.widMixer = 0 # ミキサー.widChannelRack = 1 # チャンネルラック.widPlaylist = 2 # プレイリスト.widPianoRoll = 3 # ピアノロール. # MIDI信号/CCの番号.A49_MOD = 1 # モジュレーションの番号.A49_C1 = 74 # C1ダイヤルの番号(Cut-off).A49_C2 = 71 # C2ダイヤルの番号(Resonace).A49_C1_SN = 16 # SuperNATURALモード時のC1の番号.A49_C2_SN = 17 # SuperNATURALモード時のC2の番号.A49_S1_SN = 80 # SuperNATURALモード時のS1の番号.A49_S2_SN = 81 # SuperNATURALモード時のS2の番号.## FUNCTIONキーで割り当てたCC.A49_S1 = 2A49_S2 = 3 VAL_MIN = 0 # 値の最小.VAL_MAX = 127 # 値は0〜127まで. ## MIDI入力時に呼び出されるコールバック関数.def OnNoteOn(event) # イベントを処理する場合はこれをTrueにする. event.handled = False # FLが受け取ったMIDI信号を出力. print("note on channel %d number %d"%(event.status, event.data1)) ## CCメッセージ受け取り.def OnControlChange(event) # イベントを処理する場合はこれをTrueにする. event.handled = False # FLが受け取ったCCを出力. print("CC channel %d number %d"%(event.status, event.data1)) print("- data2 %d"%event.data2) #print("- pressure %d"%event.pressure) #print("- progNum %d"%event.progNum) #print("- controlNum %d"%event.controlNum) #print("- pitchBend %d"%event.pitchBend) #print("- isIncrement %d"%event.isIncrement) #print("- res %d"%event.res) #print("- inEv %d"%event.inEv) #print("- outEv %d"%event.outEv) #print("- midiId %d"%event.midiId) #print("- midiChan %d"%event.midiChan) #print("- midiChanEx %d"%event.midiChanEx) # 選択しているチャンネル番号を取得する. channel_idx = channels.channelNumber() #print(plugins.getPluginName(channel_idx)) # プラグインのパラメータをすべて出力. #for i in range(plugins.getParamCount(channel_idx)) # print(plugins.getParamName(i, channel_idx), " ", plugins.getParamValue(i, channel_idx)) # 再生位置を移動させられる. #print("ui.jog ", ui.jog(1)) if event.data1 == A49_MOD print("setFocused(widPianoRoll)") ui.setFocused(widPianoRoll) # ピアノロールにフォーカスする. event.handled = True # FLに処理させる. if event.data1 == A49_C1 # ノブの位置で再生位置を移動してみる. if transport.getLoopMode() == 0 # パターンモード. idx = patterns.patternNumber() # 現在選択しているパターン. total = patterns.getPatternLength(idx) # パターンの長さ. pos = int(total * event.data2 / VAL_MAX) print("pos ", pos , " total ", total) transport.setSongPos(1.0 * pos / total) else # ソングモード. total = transport.getSongLength(SONGLENGTH_MS) # 曲の長さ. pos = total * event.data2 / VAL_MAX print("pos ", pos , " total ", total) transport.setSongPos(pos, SONGLENGTH_MS) event.handled = True # FLに処理させる. if event.data1 == A49_C2 # チャンネルボリュームを変更する. vol = 1.0 * event.data2 / VAL_MAX channels.setChannelVolume(channel_idx, vol) print("channel vol %3.2f"%vol) event.handled = True # FLに処理させる. if event.data1 == A49_S1 and event.data2 0 print("play/stop") # 再生/停止する. transport.start() event.handled = True # FLに処理させる. if event.data1 == A49_S2 and event.data2 0 print("stop") # 停止する. transport.stop() event.handled = True # FLに処理させる. if event.data1 == A49_S1_SN and event.data2 0 # プリセット変更(1つ前). print("prevPreset") plugins.prevPreset(channel_idx) event.handled = True # FLに処理させる. if event.data1 == A49_S2_SN and event.data2 0 # プリセット変更(1つ先). print("nextPreset") plugins.nextPreset(channel_idx) event.handled = True # FLに処理させる. """ # S1/S2をCCに割り当てない場合はこちらで再生/停止する. if event.data1 == A49_C2 # 再生/停止処理. if event.data2 == VAL_MIN print("stop") # 停止する. transport.stop() # C2が最小になったら停止. event.handled = True # FLに処理させる. if event.data2 == VAL_MAX print("play/stop") # 再生/停止する. transport.start() # C2が最大になったら再生/停止. event.handled = True # FLに処理させる.""" ## プログラムチェンジメッセージのコールバック関数.def OnProgramChange(event) # イベントを処理する場合はこれをTrueにする. event.handled = False # FLが受け取ったMIDI信号を出力. print("program change channel %d number %d"%(event.status, event.data1)) ## システムエクスクルーシブのコールバック関数.def OnSysEx(event) # イベントを処理する場合はこれをTrueにする. event.handled = False # FLが受け取ったMIDI信号を出力. print("sys ex channel %d number %d"%(event.status, event.data1)) ## ピッチベンドのコールバック関数.def OnPitchBend(event) # イベントを処理する場合はこれをTrueにする. event.handled = False # FLが受け取ったMIDI信号を出力. print("pitch bend channel %d number %d"%(event.status, event.data1)) print("- data2 %d"%event.data2) if event.data2 64 # ピッチを上げる. print("setFocused(widPlaylist)") ui.setFocused(widPlaylist) # プレイリストにフォーカスする. event.handled = True # FLに処理させる. elif event.data2 64 # ピッチを下げる. print("setFocused(widChannelRack)") ui.setFocused(widChannelRack) # チャンネルラックにフォーカスする. event.handled = True # FLに処理させる. これで、使い道のなかったMIDIコントロールボタンがFL Studioと連携するようになって、かなり使いやすくなりました。 Roland A-49 はキータッチがとても良くておすすめの MIDIキーボードです。 Roland ローランド MIDIキーボードコントローラー A-49-BK ブラック 49鍵 スクリプトの実装例・その2 色々試した結果、以下のようになりました。 S1 再生と停止 S2 パターンモード・ループモード切り替え C1 再生位置変更 C2 チャンネルの音量切替 Super NATURAL S1 プリセットを1つ前に切り替え Super NATURAL S2 プリセットを1つ次に切り替え device_name_02.zip
https://w.atwiki.jp/ffdialog/pages/140.html
Rodin-Comidin 魔法人形と絡繰人形…… カーディアンとオートマトン……。 Rodin-Comidin 運動性。量産性。耐久性。 汎用性。安全性。信頼性。火力。認識力。応用力。 恰好よさ。好きな言葉。苦手な動物。好感度。 ええい! その他、いろいろ。 Rodin-Comidin 何が違うのか? そして、どっちが優れているのか? それを突きとめるまで、国には帰るな、 と、あの御方に言われたが……とほほ。
https://w.atwiki.jp/ryuseinorockman/pages/70.html
新クラーク~2008年終わりまで 2008年12月26日17時00分 来週と再来週、冬休みがもらえると思ったら 「次世代ワールドホビーウェア」で開催される ウェーブバトル大会の準備のお手伝いをしなきゃいけないようです。 それでご案内を休んでいいなんて言われたのですネ…。 せっかくオペレーターさんと一緒に 「流星のロックマン3」をのんびりプレイしようと思ったのにー。 しかしこれも大会を楽しみにしている皆さんのため。 お休み返上で目一杯頑張っちゃいマス! それでは今年最後はワタシも笑顔でシメましょう。 どうかアナタもよいお年を、 来年は1/5からまたご案内させて頂きますヨ~。 2008年12月25日13時00分 メリー クリスマース!! アナタはこのクリスマス、ちゃんと楽しんでますか~。 …あ、コレですか?オペレーターさんへのクリスマスプレゼントです。 ブラザーになって、お休み中に一緒に遊んでもらう予定なのですヨ~♪ そうそう、プレゼントを買いに行ったゲーム屋さんで 「そういえばあの子、新しいゲーム機を欲しがっていたけど… 次の誕生日まではお預けね。」 なんてキビしいことを言っていたお母さんがいたのですが、 あの方、どこかロックマンさんと面影が似ているような? ウェーブステーションに写真のデータを送りましたので、 アナタもちょっと確認してみて下さいネ。 2008年12月24日13時00分 そういえば、今日はもうクリスマス・イヴですネ~。 アナタはクリスマスプレゼントに何をお願いしますか? もちろん、「流星のロックマン3」!! …は、さすがにもうお持ちですよね。 となると、「シークレットサテライトサーバー」か、 はたまた「ノイズ改造ギア」をドーンと100袋とか。 まさか!もしかして!!万が一!!! まだ「流星のロックマン3」をお持ちでないのでしたら、 是非これを機会にサンタさんにお願いして下さいナ。 きっと最高のクリスマスプレゼントになりますヨ!! 2008年12月22日13時00分 暁さんからメールがあって、 「クラーク、今年はお疲れ様。 今週の案内が終わったら、来週と再来週は、 サテライトサーバーの案内は休んでくれていいぞ。」 なんてお言葉を頂いちゃいました。 …ムムム、これってもしかして、 冬休みがもらえるということでしょうか。 ということは、これでようやくワタシも 「流星のロックマン3」がプレイできるかも!? アナタに会えないのは寂しいですが、 来週からはちょっとだけ、のんびりさせて頂きますネ。 2008年12月19日13時00分 それにしても昨日頂いた写真のデータの方、 とってもおキレイですネェ。 ミステリアスというか何と言うか…(ぽわわ~) いやいや、この方はもしかすると ウィザードの暴走事件に関わっているかもしれない人物! そんなキモチを抱いちゃいけません。 ―ヨシ、もしこの方を見かけたら すぐに昨日の隊員さんに連絡できるよう注意しておかなきゃ。 肝心なときに顔を忘れてしまったりしないよう、 このデータは肌身離さず持ち歩いちゃいますヨ! 2008年12月18日13時00分 あるウィザード暴走事件を調査していた隊員さんから、 似たような事件の現場にたびたび現れるという 不審な人物の写真のデータを渡されました。 「もしかしたらこの人物、事件に関係しているかもしれない。 見かけたら私に教えてくれないか?」 とのことですヨ。 ウェーブステーションにもデータを送っておきますので、 アナタも見かけたらサテラポリスにご連絡下さいナ~。 そうえいばこのデータを暁さんに見せてみたら、 何だかものスゴーくフクザツな顔をしていたような… もしかして暁さん、この人物について何か知っているのでしょうか? 2008年12月17日13時00分 各地でウィザードが暴走している事件、 一向に収まらないようです。 サテラポリスの隊員さんたちを総動員して 調査を進めているのですが、 なかなか解決の糸口がつかめないんだとか。 ウーン、こうまで事件が多いと 何者かがウラから手を引いているんじゃないか、 なんて思ってしまいますネ。 もしそんな人物がいるとしたら… ウィザードをワザと暴走させるなんて、ゼッタイに許せません! 見つけたら、このクラークがカレイに捕まえちゃいますヨ!! 2008年12月16日13時00分 たっだいまー! 「コロコロコミック」でのお仕事を終えて帰ってきました。 いやもー、ウェーブバトル大会のコト、 バッチリ宣伝してきましたヨ! 外でのお仕事は久しぶりだったので、 ちょっと張り切り過ぎちゃったかもしれません。 そんなワタシの雄姿、 アナタはちゃんと見てくれましたか? ウェーブバトルの腕に自信がおありでしたら、 アナタも是非「次世代ワールドホビーフェア」に足を運んで 大会に参加してみて下さいネ! 2008年12月15日17時00分 ビビ!こんにちは!! クラークさんは今、「コロコロコミック」でお仕事中だそうです。 サテライトサーバーを飛び出しての任務だなんて、スゴいですよね~。 そうそう、クラークさんからアナタに伝言を頼まれています。 「メインルームで、ブライさんのデータとは別にもうひとつ ブライさんのノイズに関する実験のデータを発見しました! メインルームに置いておくにはキケンなくらい ノイズの量がすさまじかったので、 レッドジョーカーのデータがある部屋のさらに奥に 厳重に保管しておきましたヨ!!」 ですって。このデンパ、しかとお伝えしましたよ~。 2008年12月12日13時00分 メインルームのブライさんの情報、 セキュリティが解除されて見られるようになりましたヨ! ウィザードなしで電波変換できるなんてスゴい方ですね~。 あ、ところでブライさんのデータがあった場所に 別の妙なデータも発見したのですが、これはいったい― …おっと、暁さんからメールが届いたようです。 「『コロコロコミック』っていう本の中で 今度のウェーブバトル大会のお知らせをしたいんだけど、 その任務、クラークにお願いできないかな?」 わわ、新たなトクベツ任務ですね!モチロン頼まれちゃいますヨ。 それではちょっといってきまース!! 2008年12月11日13時00分 前にアシッドさんがウェーブバトルの大会で優勝した、 というお話をしてましたが、 今度は「次世代ワールドホビーフェア」というイベントで、 なんとサテラポリスが主催する ウェーブバトル大会が開かれるみたいですヨ!! 何でも「ディーラーの野望を阻止するための人材を発掘する」 というのが目的らしいのですが、 そのために大会を開いてしまうなんてダイタンですね~。 もし大会で優勝したら、サテラポリスから注目されて サテライトサーバーに登録されちゃったりするかも? ムムム、ワタシも参加したくなってきましたヨ…! 2008年12月10日15時00分 …ギロリ。 またオマエか、本当によくココに来てるんだな。 そうだ、ちょっと尋ねたいことがあるんだが― クラークから 「ウェーブバトルの特訓をお願いしマス!」 と頼まれたので試しに一度バトルをしてみたら、 アイツ、フォルダの中に ホイッスルしか入れてなかったんだ。 あれでどうやって戦うつもりだったのか…。 オマエ、クラークと仲が良いだろう。何か聞いてたりしないか? 2008年12月09日13時00分 ウーン、ずっと考えていたのですが、 いきなりアシッドさんにウェーブバトルを挑んだのは さすがにムボウだったでしょうか。 サテラポリスのエースである暁さんのウィザードですもの、 強いのは当たり前ですよネ。 でもワタシもちゃんとウェーブバトルができるようになって、 バトルカードを上手に使いこなしたり、 華麗にウィルスバスティングしたりと アナタにちょっとカッコいいところをお見せしてみたい… こうなったら、ガードナーのSG-33さんに頼んで ウェーブバトルの特訓をしてもらおうカナ? 2008年12月08日13時00分 レッドジョーカーもやはりというか何というか、 カッコいいような、ちょっとコワイような? データが保管されているだけにも関わらず あの部屋では相当な量のノイズが感知されていますし、 実際に会ったときのことを考えると恐ろしくなってしまいマス…。 ところで、エースプログラムとジョーカープログラム、 ノイズをコントロールするためのシステムは2つ存在するのですね。 サテライトサーバーのデータから察するに エースプログラムはアシッド・エースさんのために 作られたもののようですが、 ジョーカープログラムは一体誰のためのものなのでしょう? 2008年12月05日11時00分 やっぱり! 思った通り、ブラックエースのデータが保管されている部屋の奥に レッドジョーカーのデータも発見しました。 ブラックエースのときよりさらに厳重なセキュリティでしたが、 こちらもさらなる気合いで解除に成功! フッフッフ、このクラーク、カンがさえてきましたヨ!! …あ、念のために言っておきますが いつもカンだけでご案内してるワケではないですからネ? それではロックマンさんがノイズと同調したもう一つの姿、 とくとご覧下さいナ~。 2008年12月04日13時00分 あれ、そういえば「流星のロックマン3」って ブラックエースとレッドジョーカー、 2つのバージョンが出てますよね? ワタシはこの通り、 2つとも買って持っているのですから 間違いありません。 ムム、ということは… ピンときましたヨ、 きっとどこかにあの情報もあるハズ! ちょっと待ってて下さい、 急いであの部屋の付近を探索してきます!! 2008年12月03日13時00分 …キュ~。 アシッドさんにウェーブバトルを挑んでみたのですが、 デリートタイム0:00:03、バスティングレベルSで あっけなくやられてしまいました。 アシッドさんてあんなに強かったんですネ…。 「本当は大会でロックマンとのバトルも予定されていたのですが、 トラブルがあって実現できず残念でした。 まあ、戦ったとしても勝ったのはわたしでしょうが…」 なんて言ってましたけど、あの強さなら本当に勝ってしまうかも? アシッドさんとロックマンさんのバトル、一度見てみたいナァ。 2008年12月02日13時00分 そうそう、アナタはもうご存じでしょうか? 携帯端末がハンターVGへとアップデートされてから、 ウィザード同士をウェーブバトルで戦わせて ウィルスバスティングの腕を競うのが流行っているそうですよ。 ちょっと前には大会も開催されたということなのですが、 やっぱりワタシみたいにバトルが苦手なウィザードでは すぐにデリートされて負けてしまうのでしょうか。 …イヤ、以前に比べてパワーアップしたワタシならばもしかして? ヨーシ、ものは試しです! その大会の優勝者でもある暁さんのウィザード、 アシッドさんと一戦交えてきますヨ!! 2008年12月01日13時00分 それにしても、ブラックエースですか… ロックマンさんがノイズと完全に同調すると こんな姿になるのですネ。 元の姿から随分変わっている気がしますが、 カッコいいような、ちょっとコワイような? でももしワタシがノイズと同調したら、 一体どんな姿になるのでしょう? やっぱりロックマンさんみたいに 黒くなっちゃうんでしょうかネェ。 ブラッククラーク…ムム、ちょっといいカモ。 2008年11月28日19時00分 エイヤー!! …オォ、無事にセキュリティを解除できましたヨ! 思い切ってテキトーにやってみただけなんですけど、 やればできるものですネ。 それで、この部屋は…フムフム、なるほど。 マージアウトジェネレーターでは ノイズが電波体に与える影響についてを実験を行っていましたが、 ごくまれに、完全にノイズと同調できる電波体がいるんだとか。 その詳細なデータがここに保管されているみたいですヨ。 ワ、こんな風に説明してるとちゃんとご案内してるッポイ!! 2008年11月27日13時00分 サテライトサーバーの奥に発見した部屋の セキュリティを解除しようと とりあえず部屋の前まで行ってみたのですけれど、 どうしたことでしょう、何だか急に力があふれてきましたヨ! 両腕についたリングの光がピカピカと強くなっているのですが、 これが何か関係しているのでしょうか…? ウゥム、今ならどんなに厳重なセキュリティも イッパツで解除できてしまう気がします。 では思い切っていってみますヨ! イチ、 ニの、 サン、… 2008年11月26日13時00分 ムムム!ビビッときました! サテライトサーバーの奥に、 さらなる新しい部屋の存在を感知しましたヨ。 どうやらこのアンテナのおかげで 以前よりもはるかに電波の送受信の感度が上がっているようです。 いやぁ、ベンリですね~。 いつの間に付いたのかは知りませんけど。 ただ、さすがに奥の方だけあって 見つけた部屋にはセキュリティがかけられていますね。 かなり厳重なモノで、どれだけ時間がかかるのか… とにかく頑張ってみますので、ちょっと待ってて下さいナ。 2008年11月25日13時00分 先日メインルームで拾ってきたワタシのデータなんですが、 よく見るとちょっとオカしくありませんか? アンテナだとか、エンブレムだとか、リングだとか、 ワタシにそんなパーツなんて無かったハズ― ウワ!? 頭に何かヘンなアンテナが付いてる!! エンブレムもこんなに目立つトコロに!! リングなんてアヤしく光ってますし!! …ハッ、イエ 気付いてましたヨ、気付いてましたトモ! 自分の事ですもの、気付かないワケがないじゃありませんかー。 2008年11月21日11時00分 メインルームの片隅で新しいデータを発見してきましたヨ! エーット、どれどれ…オヤ? な、な、なんとコレはワタシの情報じゃないですか!? 知らないウチにデータを集められていたのでしょうか… ウーン、全然気付きませんでした。 ワタシの目を盗むなんて、なかなかやりますねサテラポリス。 メインルーム自体には ワタシの情報は登録されていないようですが、 ウェーブステーションにデータを送っておきますので ぜひご覧になって下さいネ。 2008年11月20日13時00分 大忙しのサテラポリス隊員の皆さんに、 暁さんが差し入れを持ってきてくれました。 「流星のうまい棒」 1本 10ゼニー! サク サク サク サク…ウン、おいしい!! この美味しさでこのお値段はお買い得ですよネ。 あ、ちなみにウィザードは電波体なので 食事をする必要はないのですが、 実体化すれば一緒にご飯を食べることもできちゃうのです。 一緒に食べれば、美味しいご飯がさらに美味しくなりますヨ! 2008年11月19日13時00分 ビビ!いつも元気なエリートデンパくんですよ~。 クラークさんはお仕事でちょっとお出かけだそうです。 いや~、それにしても最近は嬉しいコトが続きますね! クラークさんは無事に修理から戻ってきてくれましたし、 「流星のロックマン3」も発売されましたし。 …ところでクラークさんって、以前と姿が変わってますよね? クラークさん自身はまったく気付いてないみたいですが、 このエリートデンパくんの目はごまかせませんよ! やっぱり暁さんが言っていた「アレ」と何か関係があるのかなぁ。 すっごく気になりますよね~。 2008年11月18日11時00分 あぁ、忙しい、忙しい!! 今週に入ってからなぜか急に、 各地でウィザードが暴走する事件が多発するようになりました。 これまでも電子機器の故障や ウィルスの発生なんて事件は多かったのですが、 ウィザードが暴走するなんて滅多に無かったのですけどネェ…。 おかげでワタシも本来の仕事が大忙し、 せっかく買った「流星のロックマン3」も 遊んでいる時間が全然ありません。 まだどっちからプレイするかも決まっていないのにー。 2008年11月17日13時00分 流星のロックマン3、楽しんでもらえてますか? ワタシはというと、 「ブラックエース」と「レッドジョーカー」 両方買ったはいいものの、 どちらから始めようかずっと悩んでいて 結局まだプレイできていません。 ウゥン、アナタのオススメはどちらでしょう。 あ、ちなみにこのポーズ、 実はエンターページの女の子のマネをしてるんですヨ。 アナタは気付いてくれたでしょうか? 2008年11月14日13時00分 さて、これにてゴクヒ任務終了!! ワタシのご案内は楽しんで頂けましたか? ワタシはアナタをご案内できてとっても楽しかったですヨ。 それでは名残惜しいですがそろそろ本来のお仕事に、 ―オヤ、暁さんからメールが。 「せっかく新しい力を手に入れたんだ。 もう少し『トクベツなお客様』を案内してやってくれないか?」 だそうで…ウーン、暁さんの頼みとあらば仕方ないですネ。 サテライトサーバーにはまだまだ秘密が隠されていそうですし、 このクラーク、さらに誠心誠意ご案内させて頂いちゃいますヨ! 2008年11月13日11時00分 ぱんぱかぱーん!! 「流星のロックマン3 ブラックエース」 「流星のロックマン3 レッドジョーカー」 ついに本日発売ですヨ! さらにワタシもご案内させて頂いてる 「シークレットサテライトサーバー」も発売されました! ワタシはこの通り両方買っちゃいましたけど、 アナタはもう手に入れてくれてるでしょうか? 流星のロックマン3、どうぞ思いっきり楽しんじゃって下さいネ!! 2008年11月12日13時00分 「1」!! いやー、いよいよ明日です、ドキドキしちゃいますネ! そして暁さんから頼まれていたゴクヒ任務も 終わりが近付いてきました。 アナタとももうすぐお別れです…。 グスッ…ダメですね、 案内中に泣いちゃうなんてナビゲーションウィザード失格です。 最後までニッコリ笑顔でいきますヨー!! 2008年11月11日15時00分 「2」!! …しまった、カウントダウンしてるだけでは案内になりませんネ。 ノイズ改造ギアの奥にもさらに部屋がありましたので、 サクッと行ってご案内させて頂いちゃいますヨ! 心配して頂かなくてもダイジョウブ、 戻ってきてからはノイズが全然苦しくないのです。 むしろノイズから力を貰っているような― いやいやまさか、そんな、ネェ。 2008年11月10日16時30分 ムムム、これはどうしたことでしょう。 修理して頂いてから、何だかやたらと力が湧いてきてますヨ! ワタシは気を失っていて覚えていないのですが、 暁さんが持ってきてくれたという「アレ」のおかげなのでしょうか? これならノイズもドンとこいです! さらにセンサーの感度もパワーアップ、 世界中から待ちきれないとの声を感知しています。 …ヨーシ、ではせんえつながらこのクラークが カウントダウンをさせて頂きましょう。 それではアナタもご一緒に、せーの、「3」!! 2008年11月07日13時00分 …ギロリ。 クラークめ、また修理するハメになったのか。 お見舞いに持ってきたデータ、 今回はムダにならずにすんだみたいだな。 まったく、心配ばかりかけやがって…。 ン?なんだオマエ、またここに来たのか。 まぁいい、お見舞いのデータは ウェーブステーションにも送っておいてやったから、 よければオマエも見てみるといい。 2008年11月06日13時00分 ビビ!こんにちは!! お久しぶりのエリートデンパくんですよ~。 クラークさん、また調子を悪くしてしまったみたいですね。 前ほどヒドくはなさそうでしたけど、やっぱり心配です! あ、そういえばさっき暁さんを見かけたのですが、 どうやらクラークさんのお見舞いに行ってたみたいですよ。 「アレがあればクラークの調子もよくなるだろ。 上手くいけば、サーバーのもっと奥まで…」 なんていってましたけど、 クラークさんになにかトクベツなおクスリでもあげたのかな?
https://w.atwiki.jp/ano_gakki/pages/22.html
イノセンサーのMIDI対応(Air Play)について 「MIDI対応やAirPlayがよくわからない!」というご意見が多かったので、ちょっと補足しておきます。 対応しているMIDIファイル形式(SMF)は、Format0と呼ばれるものです。 Format0では、すべてのデータが1トラック、1チャンネルにまとめられて記録されている。 イノセンサーは4音同時再生まで対応なので、一つのトラックにまとめられたMIDIデータのうち、同時に4音以上鳴るときには、以降のコマンドを無視して発生しません。 また、音色切り替えなどのコマンドには対応していないため、あらかじめ設定してある音色ですべてのパートが再生されます。 自分であてぶり用のMIDIファイルを作成する場合にはよいのですが、すでにあるMIDIファイルを読み込ませるときには、Format0への変換が必要です。 フォーマット変換には、ExSMFなどのツールなどを使うことによって変換することが出来ます。 このように、用意したMIDIファイルをWebページにアップロードし、イノセンサーの設定画面にて、アップロードしたMIDIファイルのURLを入力してアプリに読み込みます。